When writing software applications, developers typically write source code that specifies how the program should operate. Such source code typically specifies a predefined ordered sequence in which the computer should execute certain computational actions. These computational actions are typically implemented as a series of procedure calls to various methods or functions that perform certain operations. When an application is composed out of an unknown number of extensible application components, it is impossible for a programmer to write the exact series of procedure calls at the time when the source code is written. The reason this is impossible is because the exact list of available computational actions in the extensible application components and any ordering between them is unknown at the time of writing the source code.